home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / glibc-1.09 / glibc-1 / glibc-1.09.1 / dirent / tst-seekdir.c < prev   
Encoding:
C/C++ Source or Header  |  1994-11-01  |  699 b   |  41 lines

  1. #include <stdio.h>
  2. #include <dirent.h>
  3. #include <stdlib.h>
  4.  
  5. int
  6. main ()
  7. {
  8.  
  9.   DIR * dirp;
  10.   long save3;
  11.   int i = 0;
  12.   struct dirent *dp;
  13.  
  14.   dirp = opendir(".");
  15.   for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
  16.     {
  17.       /* save position 3 (fourth entry) */
  18.       if (i++ == 3)
  19.     save3 = telldir(dirp);
  20.  
  21.       printf("%s\n", dp->d_name);
  22.  
  23.       /* stop at 400 (just to make sure dirp->__offset and dirp->__size are
  24.      scrambled */
  25.       if (i == 400)
  26.     break;
  27.     }
  28.  
  29.   /* go back to saved entry */
  30.   seekdir (dirp, save3);
  31.  
  32.   
  33.   /* print remaining files (3-last) */
  34.   for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
  35.     printf("%s\n", dp->d_name);
  36.  
  37.  
  38.   closedir (dirp);
  39.   exit(0);
  40. }
  41.